package com.project.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.project.bean.RiderBean;
import com.project.dto.RiderDto;
import com.project.vo.Infos;

import java.util.List;

/**
 * 骑手接口
 *
 * @author lyl
 * @since 2021-10-04
 */
public interface RiderService extends IService<RiderBean> {
    /**
     * 自用方法，用于快速查找骑手并获取其信息
     *
     * @param code 骑手编号
     * @return 查阅骑手信息
     */
    RiderBean getRiderByCode(String code);

    /**
     * 查询所有骑手信息
     *
     * @return
     */
    List<RiderBean> findAllRiderInfo();

    /**
     * 设置骑手的接单状态，并返回成功或者失败
     *
     * @param code  骑手编号
     * @param state 骑手状态
     * @return 成功或者失败
     */
    Infos setRiderState(String code, String state);

    /**
     * 根据骑手编号与当前日期，统计今日完成单数和今日收入
     *
     * @param code 骑手编号
     * @param date 日期
     * @return 骑手信息（用户、今日完成单数、今日收入、头像）
     */
    RiderBean findRiderByCodeAndDate(String code, String date);

    /**
     * 骑手对自身账户进行查看，可查看总收入、当日总收入
     *
     * @param code      骑手编号
     * @param startDate 起始时间
     * @param endDate   结束时间
     * @return 骑手信息(总收入 、 当日总收入)
     */
    RiderBean findRiderByIncome(String code, String startDate, String endDate);

    /**
     * 根据骑手编号和新电话号码修改电话
     * @param riderCode 骑手编号
     * @param phone 新电话号码
     * @return 是否成功
     */
    Infos updatePhone(String riderCode,String phone);
}
